// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const openid = wxContext.OPENID
  const keyWord = event.keyWord
  let w = {}
  if (event.tag == 'all') {
    // 请求所有商家数据
    if (keyWord.trim() != '') {
      w = {
        getName: db.RegExp({
          regexp: keyWord,
          options: 'i'
        })
      }
    }
    return await db.collection('enter-shop')
      .where(w)
      .skip(event.start)
      .limit(event.count)
      .orderBy('createTime', 'desc')
      .get()
      .then(res => {
        console.log('请求所有商家数据ok', res)
        return res.data
      }).catch(res => {
        console.log(res, '请求所有商家数据fail')
      })
  }
  if (event.tag == 'boss') {
    // 老板请求自己的商家数据
    return await db.collection('enter-shop')
      .where({
        _openid: openid
      })
      .orderBy('createTime', 'desc')
      .get()
      .then(res => {
        console.log(res, '老板请求自己商家数据ok')

        return res.data
      }).catch(res => {
        console.log(res, '老板请求自己商家数据fail')

      })
  }
  if (event.tag == 'user') {
    // 用户根据_id请求商家数据,需要传入_id
    return await db.collection('enter-shop')
      .doc(event.id)
      .get()
      .then(res => {
        console.log(res, '用户根据_id请求商家数据ok')

        return res.data
      }).catch(res => {
        console.log(res, '用户根据_id请求商家数据fail')
        return res
      })
  }
  if (event.tag == 'OPENID') {
    // 用户根据_openid请求商家数据,需要传入openid
    return await db.collection('enter-shop')
      .where({
        _openid: event.openid
      })
      .get()
      .then(res => {
        console.log(res, '用户根据_openid请求商家数据ok')

        return res.data
      }).catch(res => {
        console.log(res, '用户根据_openid请求商家数据fail')
        return res
      })
  }





  // return {
  //   event,
  //   openid: wxContext.OPENID,
  //   appid: wxContext.APPID,
  //   unionid: wxContext.UNIONID,
  // }
}